package com.ftg.learn.backlearn.array;

/**
 * 学习一下数组
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/2/21 下午5:48
 */
public class LearnArray01 {

    // 1 : 组定一数组 长度为10 返回这个数组里面所有偶数索引所产生的全部数据
    // 2 : 产生一个长度为10的数组，1-10 ，编写一个方法完成打乱顺序
    // 3 : 给定一个数组 按三段来输出  1 2 3   4 5 6     7 8 9
    public static void q3(int[] as) {
        for (int i = 0; i < as.length / 3; i++) {
            System.out.println(as[i] + "\t" + as[i + 3] + "\t" + as[i + 6]);
        }
    }

    public static int[] q2(int[] as) {

//        int b = -1;
//        int a = -1;
//        while(a == b){
//            a = (int)(Math.random() * as.length);
//            b = (int)(Math.random() * as.length);
//            if(a != b){
//                break;
//            }
//        }
//        as[a] = as[a] + as[b];
//        as[b] = as[a] - as[b];
//        as[a] = as[a] - as[b];
        //5
        int part = as.length >> 1;
        //0-4
        int a = (int) (Math.random() * part);
        int b = a + (part + 1);
        as[a] = as[a] + as[b];
        as[b] = as[a] - as[b];
        as[a] = as[a] - as[b];
        return as;
    }

    public static int[] q1(int[] as) {
        if (as.length != 10) {
            throw new RuntimeException("。。。。。");
        }
        int[] arr = new int[as.length >> 1];
        for (int i = 0; i < as.length; i += 2) {
            arr[i >> 1] = as[i];
        }
        return arr;
    }

    public static void main(String[] args) {
//       int[] as =  q1(new int[]{1,2,3,4,5,6,7,8,9,10});
//        for (int s = 0; s < as.length; s++) {
//            System.out.println(as[s]);
//        }
//        int[] as = q2(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10});
//        for (int i = 0; i < as.length; i++) {
//            System.out.print(as[i] + "\t");
//        }
        q3(new int[]{1,2,3,4,5,6,7,8,9,10});
    }

}
